En mi proyecto, tengo problemas para configurar una variable de estado con un objeto javascript, puedo ver en los registros de mi consola que el objeto se está instanciando correctamente con los valores correctos, pero no puedo entender por qué no está configurando correctamente el gancho de estado.
¡¡Cualquier ayuda seria apreciada!!
const [accountInfo, setAccountInfo] = useState({}) const delay = ms => new Promise(res => setTimeout(res, ms)); const onLogin = async (account) => { await(delay(2000)); console.log(account); // I am getting the proper output of the object here if(account.account_id != -1){ setAccountInfo(account); await delay(4000); //Just for debugging console.log("acc " + accountInfo); // This outputs [Object object] setLoggedIn(true); }else{ alert('Account does not exist'); } }Está intentando concatenar una cadena con un objeto. Convierta el objeto en una cadena con JSON.stringify o use object.property.
console.log("Object" + JSON.stringify(object_to_print));está intentando consolar. registrar una variable de estado. React no garantiza el cambio de estado inmediatamente. puede acceder al cambio de estado en useEffect hook
useEffect(() => { console.log('state changed', your-state-variable) // write your callback function here }, [your-state-variable]);